<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>YDLIDAR SDK: /home/yang/gaussian/sdk/include/ydlidar_driver.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ydlidar.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">YDLIDAR SDK
   &#160;<span id="projectnumber">V1.3.8</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ydlidar_driver.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef YDLIDAR_DRIVER_H</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define YDLIDAR_DRIVER_H</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;atomic&gt;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;locker.h&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;serial.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;thread.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;ydlidar_protocol.h&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;Console.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#if !defined(__cplusplus)</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __cplusplus</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#error &quot;The YDLIDAR SDK requires a C++ compiler to be built&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceserial.html">serial</a>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceydlidar.html">ydlidar</a>{</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html">   25</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classydlidar_1_1_y_dlidar_driver.html">YDlidarDriver</a></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;         <a class="code" href="classydlidar_1_1_y_dlidar_driver.html">YDlidarDriver</a>();</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;         <span class="keyword">virtual</span> ~<a class="code" href="classydlidar_1_1_y_dlidar_driver.html">YDlidarDriver</a>();</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">static</span> std::map&lt;std::string, std::string&gt; lidarPortList();</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        result_t connect(<span class="keyword">const</span> <span class="keywordtype">char</span> * port_path, uint32_t baudrate);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keywordtype">void</span> disconnect();</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">static</span> std::string getSDKVersion();</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordtype">bool</span> isscanning() <span class="keyword">const</span>;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="keywordtype">bool</span> isconnected() <span class="keyword">const</span>;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keywordtype">void</span> setIntensities(<span class="keyword">const</span> <span class="keywordtype">bool</span>&amp; isintensities);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keywordtype">void</span> setAutoReconnect(<span class="keyword">const</span> <span class="keywordtype">bool</span>&amp; enable);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordtype">void</span> setMultipleRate(<span class="keyword">const</span> <span class="keywordtype">bool</span>&amp; enable);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordtype">bool</span> getMultipleRate() <span class="keyword">const</span>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keywordtype">void</span> checkTransTime();</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        result_t getHealth(<a class="code" href="structdevice__health.html">device_health</a> &amp; health, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        result_t getDeviceInfo(<a class="code" href="structdevice__info.html">device_info</a> &amp; info, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        result_t startScan(<span class="keywordtype">bool</span> force = <span class="keyword">false</span>, uint32_t timeout = DEFAULT_TIMEOUT) ;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        result_t stop();</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        </div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        result_t grabScanData(<a class="code" href="structnode__info.html">node_info</a> * nodebuffer, <span class="keywordtype">size_t</span> &amp; count, uint32_t timeout = DEFAULT_TIMEOUT) ;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        result_t ascendScanData(<a class="code" href="structnode__info.html">node_info</a> * nodebuffer, <span class="keywordtype">size_t</span> count);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        result_t reset(uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        result_t startMotor();</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        result_t stopMotor();</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        result_t getScanFrequency(<a class="code" href="structscan__frequency.html">scan_frequency</a> &amp; frequency, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        result_t setScanFrequencyAdd(<a class="code" href="structscan__frequency.html">scan_frequency</a> &amp; frequency, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        result_t setScanFrequencyDis(<a class="code" href="structscan__frequency.html">scan_frequency</a> &amp; frequency, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        result_t setScanFrequencyAddMic(<a class="code" href="structscan__frequency.html">scan_frequency</a> &amp; frequency, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        result_t setScanFrequencyDisMic(<a class="code" href="structscan__frequency.html">scan_frequency</a> &amp; frequency, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        result_t getSamplingRate(<a class="code" href="structsampling__rate.html">sampling_rate</a> &amp; rate, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        result_t setSamplingRate(<a class="code" href="structsampling__rate.html">sampling_rate</a> &amp; rate, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        result_t setRotationPositive(<a class="code" href="structscan__rotation.html">scan_rotation</a> &amp; rotation, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        result_t setRotationInversion(<a class="code" href="structscan__rotation.html">scan_rotation</a> &amp; rotation, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        result_t enableLowerPower(<a class="code" href="structfunction__state.html">function_state</a> &amp; state, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        result_t disableLowerPower(<a class="code" href="structfunction__state.html">function_state</a> &amp; state, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        result_t getMotorState(<a class="code" href="structfunction__state.html">function_state</a> &amp; state, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        result_t enableConstFreq(<a class="code" href="structfunction__state.html">function_state</a> &amp; state, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        result_t disableConstFreq(<a class="code" href="structfunction__state.html">function_state</a> &amp; state, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        result_t setSaveLowExposure(<a class="code" href="structscan__exposure.html">scan_exposure</a>&amp; low_exposure, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        result_t setLowExposure(<a class="code" href="structscan__exposure.html">scan_exposure</a>&amp; low_exposure, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        result_t setLowExposureAdd(<a class="code" href="structscan__exposure.html">scan_exposure</a> &amp; exposure, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        result_t setLowExposurerDis(<a class="code" href="structscan__exposure.html">scan_exposure</a> &amp; exposure, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        result_t setPointsForOneRingFlag(<a class="code" href="structscan__points.html">scan_points</a>&amp; points,uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        result_t createThread();</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="keywordtype">bool</span> autoReconnectLidar();</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        result_t startAutoScan(<span class="keywordtype">bool</span> force = <span class="keyword">false</span>, uint32_t timeout = DEFAULT_TIMEOUT) ;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        result_t waitPackage(<a class="code" href="structnode__info.html">node_info</a> * node, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        result_t waitScanData(<a class="code" href="structnode__info.html">node_info</a> * nodebuffer, <span class="keywordtype">size_t</span> &amp; count, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <span class="keywordtype">int</span> cacheScanData();</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        result_t sendCommand(uint8_t cmd, <span class="keyword">const</span> <span class="keywordtype">void</span> * payload = NULL, <span class="keywordtype">size_t</span> payloadsize = 0);</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        result_t waitResponseHeader(<a class="code" href="structlidar__ans__header.html">lidar_ans_header</a> * header, uint32_t timeout = DEFAULT_TIMEOUT);</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        result_t waitForData(<span class="keywordtype">size_t</span> data_count,uint32_t timeout = DEFAULT_TIMEOUT, <span class="keywordtype">size_t</span> * returned_size = NULL);</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        result_t getData(uint8_t * data, <span class="keywordtype">size_t</span> size);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        result_t sendData(<span class="keyword">const</span> uint8_t * data, <span class="keywordtype">size_t</span> size);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        result_t sendHeartBeat();</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        <span class="keywordtype">void</span> disableDataGrabbing();</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        <span class="keywordtype">void</span> setDTR();</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <span class="keywordtype">void</span> clearDTR();</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a4457578961d36ce22035d778c0fd7f06">  570</a></span>&#160;        std::atomic&lt;bool&gt;     <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a4457578961d36ce22035d778c0fd7f06">isConnected</a>;  </div><div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a245115a8c8a4f98d988fbee06810d0a4">  571</a></span>&#160;        std::atomic&lt;bool&gt;     <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a245115a8c8a4f98d988fbee06810d0a4">isScanning</a>;   </div><div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#aa9fe773e62367a784c888d97c1886661">  572</a></span>&#160;        std::atomic&lt;bool&gt;     <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#aa9fe773e62367a784c888d97c1886661">isAutoReconnect</a>;  </div><div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a4fcf172c55eabd5c6ca2d8c2bf14e5c6">  573</a></span>&#160;        std::atomic&lt;bool&gt;     <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a4fcf172c55eabd5c6ca2d8c2bf14e5c6">isAutoconnting</a>; </div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <span class="keyword">enum</span> {</div><div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#abbb612f1ac6a9f6dfdcfeafb149dd0daa07c79ce96f468ff4b40495ef84584442">  576</a></span>&#160;            DEFAULT_TIMEOUT     = 2000,    </div><div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#abbb612f1ac6a9f6dfdcfeafb149dd0daa94033b4717c83f52cd008fe38b712e21">  577</a></span>&#160;            DEFAULT_HEART_BEAT  = 1000, </div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#abbb612f1ac6a9f6dfdcfeafb149dd0daa3db6fc46c7ce55cdf3a968b70e96374a">  578</a></span>&#160;            MAX_SCAN_NODES      = 3600,    </div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;            DEFAULT_TIMEOUT_COUNT = 1,</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;        };</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <span class="keyword">enum</span> { </div><div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a3303d67e56b0dd5a36397a5326965713">  582</a></span>&#160;            YDLIDAR_F4          = 1, </div><div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a6ea5ed1cde351e4b5df40d1bbd697212">  583</a></span>&#160;            YDLIDAR_T1          = 2, </div><div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a7d64a3d3e3d3ef6d1db5c0a8740a523a">  584</a></span>&#160;            YDLIDAR_F2          = 3, </div><div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853ab1d9ab224053d610e97ebee7236345ba">  585</a></span>&#160;            YDLIDAR_S4          = 4, </div><div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a6bd6fb5e1f3ddd4e36ab12e53c114039">  586</a></span>&#160;            YDLIDAR_G4          = 5, </div><div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a5065807c3aa6a4a731858dda599667b7">  587</a></span>&#160;            YDLIDAR_X4          = 6, </div><div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853ae5e91e3e2e4fdf6a134e796e157e35ef">  588</a></span>&#160;            YDLIDAR_G4PRO       = 7, </div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a700fca9e58a191c0d1a4d13ae67927e8">  589</a></span>&#160;            YDLIDAR_F4PRO       = 8, </div><div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a55a9d7236d51f9d1d38d41cd102be527">  590</a></span>&#160;            YDLIDAR_G4C         = 9, </div><div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853ae002254eaa770ccb6d0d5f611e2d3303">  591</a></span>&#160;            YDLIDAR_G10         = 10,</div><div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a60b16d0468bb4fa5547de578ea6bda7e">  592</a></span>&#160;            YDLIDAR_S4B         = 11,</div><div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a99ba8286a5265e554cfba5c9d755c8be">  593</a></span>&#160;            YDLIDAR_S2          = 12,</div><div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a453de597c65673b47601ca29b606d0b2">  594</a></span>&#160;            YDLIDAR_G25         = 13,</div><div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a37f9bd0b07a7f67f1d5c2aae6ea453ac">  595</a></span>&#160;            <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a37f9bd0b07a7f67f1d5c2aae6ea453ac">YDLIDAR_Tail</a>,</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;        };</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        <span class="keyword">enum</span> {</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            YDLIDAR_RATE_4K     = 0,</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            YDLIDAR_RATE_8K     = 1,</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;            YDLIDAR_RATE_9K     = 2,</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;            YDLIDAR_RATE_10K    = 3,</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        };</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        <span class="keyword">enum</span> { </div><div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a8c5a19fcc0032621058c87ce71a2ec4a">  607</a></span>&#160;            YDLIDAR_F4_BAUD     = 115200, </div><div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5aefd1a8409f50dfe87453db036162544d">  608</a></span>&#160;            YDLIDAR_T1_BAUD     = 115200, </div><div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5ac2216e8d52a0e138878f44f8f5ef9abd">  609</a></span>&#160;            YDLIDAR_F2_BAUD     = 115200, </div><div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a683c97542284eae2481df3265daadcae">  610</a></span>&#160;            YDLIDAR_S4_BAUD     = 115200, </div><div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a34ab89806ba4500d535a39b5a2cd8c80">  611</a></span>&#160;            YDLIDAR_G4_BAUD     = 230400, </div><div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5af9072ded8a7c5ee0b320857b1bb9ced9">  612</a></span>&#160;            YDLIDAR_X4_BAUD     = 128000, </div><div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5ae61d3f9d1de4f94b77c28cef3b2cbab9">  613</a></span>&#160;            YDLIDAR_G4PRO_BAUD  = 230400, </div><div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a7bb00b766aa28326aa249cb68be448bd">  614</a></span>&#160;            YDLIDAR_F4PRO_BAUD  = 128000, </div><div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a1c65724eafae52a22f4ba991f3e6adde">  615</a></span>&#160;            YDLIDAR_G4C_BAUD    = 115200, </div><div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5aa475b43028811ed6aca2564418681db9">  616</a></span>&#160;            YDLIDAR_G10_BAUD    = 230400,</div><div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a963232a105788cc385dbc674752ff0bb">  617</a></span>&#160;            YDLIDAR_S4B_BAUD    = 153600,</div><div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5a2c0f95005b7f01e75cd7ff69913d8b14">  618</a></span>&#160;            YDLIDAR_S2_BAUD     = 115200,</div><div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9f392158233eedf4d9fa42a77ce3d8f5ac6fa8fb411dbdd419d74bbb0160cc5c9">  619</a></span>&#160;            YDLIDAR_G25_BAUD    = 512000,</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        };</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#ac8ac6e6722dc5dbb5e592036824c2bd8">  623</a></span>&#160;        <a class="code" href="structnode__info.html">node_info</a>       scan_node_buf[3600];  </div><div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a106fc563bb42f19e84e8d9db1e7856fe">  624</a></span>&#160;        <span class="keywordtype">size_t</span>          <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a106fc563bb42f19e84e8d9db1e7856fe">scan_node_count</a>;      </div><div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#afd2b3835a0e450d9b88d28d8f574148d">  625</a></span>&#160;        <a class="code" href="class_event.html">Event</a>           <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#afd2b3835a0e450d9b88d28d8f574148d">_dataEvent</a>;          </div><div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a1bb836661c8c39c2b71c9a0de8755c5c">  626</a></span>&#160;        <a class="code" href="class_locker.html">Locker</a>          <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a1bb836661c8c39c2b71c9a0de8755c5c">_lock</a>;              </div><div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#ac1ace85f37283559d4f2bc2797eea900">  627</a></span>&#160;        <a class="code" href="class_locker.html">Locker</a>          <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#ac1ace85f37283559d4f2bc2797eea900">_serial_lock</a>;                </div><div class="line"><a name="l00628"></a><span class="lineno"><a class="line" href="classydlidar_1_1_y_dlidar_driver.html#a9fbd1b3471c1aa4959d74524b9a92410">  628</a></span>&#160;        <a class="code" href="class_thread.html">Thread</a>          <a class="code" href="classydlidar_1_1_y_dlidar_driver.html#a9fbd1b3471c1aa4959d74524b9a92410">_thread</a>;                </div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <span class="keywordtype">int</span> PackageSampleBytes;             </div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <a class="code" href="classserial_1_1_serial.html">serial::Serial</a> *_serial;            </div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <span class="keywordtype">bool</span> m_intensities;                 </div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        <span class="keywordtype">int</span> m_sampling_rate;                    </div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <span class="keywordtype">int</span> model;                          </div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        uint32_t m_baudrate;                    </div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;        <span class="keywordtype">bool</span> isSupportMotorCtrl;            </div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        uint64_t m_ns;                      </div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;        uint64_t m_last_ns;                 </div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        uint32_t m_pointTime;               </div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        uint32_t trans_delay;               </div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        <a class="code" href="structnode__package.html">node_package</a> package;</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <a class="code" href="structnode__packages.html">node_packages</a> packages;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;        uint16_t package_Sample_Index;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;        <span class="keywordtype">float</span> IntervalSampleAngle;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        <span class="keywordtype">float</span> IntervalSampleAngle_LastPackage;</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        uint16_t FirstSampleAngle;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        uint16_t LastSampleAngle;</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        uint16_t CheckSun;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        uint16_t CheckSunCal;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        uint16_t SampleNumlAndCTCal;</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        uint16_t LastSampleAngleCal;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;        <span class="keywordtype">bool</span> CheckSunResult;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;        uint16_t Valu8Tou16;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        <span class="keywordtype">bool</span> isMultipleRate;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        uint8_t scan_frequence;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        std::string serial_port;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;    };</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;}</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="preprocessor">#endif // YDLIDAR_DRIVER_H</span></div><div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a245115a8c8a4f98d988fbee06810d0a4"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a245115a8c8a4f98d988fbee06810d0a4">ydlidar::YDlidarDriver::isScanning</a></div><div class="ttdeci">std::atomic&lt; bool &gt; isScanning</div><div class="ttdoc">扫图状态 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:571</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a106fc563bb42f19e84e8d9db1e7856fe"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a106fc563bb42f19e84e8d9db1e7856fe">ydlidar::YDlidarDriver::scan_node_count</a></div><div class="ttdeci">size_t scan_node_count</div><div class="ttdoc">激光点数 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:624</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a1edd5634ea00ca122a0882d875f42853a37f9bd0b07a7f67f1d5c2aae6ea453ac"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a1edd5634ea00ca122a0882d875f42853a37f9bd0b07a7f67f1d5c2aae6ea453ac">ydlidar::YDlidarDriver::YDLIDAR_Tail</a></div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:595</div></div>
<div class="ttc" id="namespaceydlidar_html"><div class="ttname"><a href="namespaceydlidar.html">ydlidar</a></div><div class="ttdef"><b>Definition:</b> Console.h:15</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_afd2b3835a0e450d9b88d28d8f574148d"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#afd2b3835a0e450d9b88d28d8f574148d">ydlidar::YDlidarDriver::_dataEvent</a></div><div class="ttdeci">Event _dataEvent</div><div class="ttdoc">数据同步事件 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:625</div></div>
<div class="ttc" id="structdevice__health_html"><div class="ttname"><a href="structdevice__health.html">device_health</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:125</div></div>
<div class="ttc" id="class_event_html"><div class="ttname"><a href="class_event.html">Event</a></div><div class="ttdef"><b>Definition:</b> locker.h:167</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a9fbd1b3471c1aa4959d74524b9a92410"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a9fbd1b3471c1aa4959d74524b9a92410">ydlidar::YDlidarDriver::_thread</a></div><div class="ttdeci">Thread _thread</div><div class="ttdoc">线程id </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:628</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a4fcf172c55eabd5c6ca2d8c2bf14e5c6"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a4fcf172c55eabd5c6ca2d8c2bf14e5c6">ydlidar::YDlidarDriver::isAutoconnting</a></div><div class="ttdeci">std::atomic&lt; bool &gt; isAutoconnting</div><div class="ttdoc">是否正在自动连接中 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:573</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
<div class="ttc" id="structlidar__ans__header_html"><div class="ttname"><a href="structlidar__ans__header.html">lidar_ans_header</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:165</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a1bb836661c8c39c2b71c9a0de8755c5c"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a1bb836661c8c39c2b71c9a0de8755c5c">ydlidar::YDlidarDriver::_lock</a></div><div class="ttdeci">Locker _lock</div><div class="ttdoc">线程锁 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:626</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_ac1ace85f37283559d4f2bc2797eea900"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#ac1ace85f37283559d4f2bc2797eea900">ydlidar::YDlidarDriver::_serial_lock</a></div><div class="ttdeci">Locker _serial_lock</div><div class="ttdoc">串口锁 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:627</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_a4457578961d36ce22035d778c0fd7f06"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#a4457578961d36ce22035d778c0fd7f06">ydlidar::YDlidarDriver::isConnected</a></div><div class="ttdeci">std::atomic&lt; bool &gt; isConnected</div><div class="ttdoc">串口连接状体 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:570</div></div>
<div class="ttc" id="class_thread_html"><div class="ttname"><a href="class_thread.html">Thread</a></div><div class="ttdef"><b>Definition:</b> thread.h:22</div></div>
<div class="ttc" id="structnode__package_html"><div class="ttname"><a href="structnode__package.html">node_package</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:97</div></div>
<div class="ttc" id="namespaceserial_html"><div class="ttname"><a href="namespaceserial.html">serial</a></div><div class="ttdef"><b>Definition:</b> serial.h:11</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html_aa9fe773e62367a784c888d97c1886661"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html#aa9fe773e62367a784c888d97c1886661">ydlidar::YDlidarDriver::isAutoReconnect</a></div><div class="ttdeci">std::atomic&lt; bool &gt; isAutoReconnect</div><div class="ttdoc">异常自动从新连接 </div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:572</div></div>
<div class="ttc" id="structdevice__info_html"><div class="ttname"><a href="structdevice__info.html">device_info</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:118</div></div>
<div class="ttc" id="structsampling__rate_html"><div class="ttname"><a href="structsampling__rate.html">sampling_rate</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:130</div></div>
<div class="ttc" id="classydlidar_1_1_y_dlidar_driver_html"><div class="ttname"><a href="classydlidar_1_1_y_dlidar_driver.html">ydlidar::YDlidarDriver</a></div><div class="ttdef"><b>Definition:</b> ydlidar_driver.h:25</div></div>
<div class="ttc" id="structscan__exposure_html"><div class="ttname"><a href="structscan__exposure.html">scan_exposure</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:142</div></div>
<div class="ttc" id="structscan__points_html"><div class="ttname"><a href="structscan__points.html">scan_points</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:150</div></div>
<div class="ttc" id="structscan__rotation_html"><div class="ttname"><a href="structscan__rotation.html">scan_rotation</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:138</div></div>
<div class="ttc" id="structnode__info_html"><div class="ttname"><a href="structnode__info.html">node_info</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:83</div></div>
<div class="ttc" id="structscan__frequency_html"><div class="ttname"><a href="structscan__frequency.html">scan_frequency</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:134</div></div>
<div class="ttc" id="classserial_1_1_serial_html"><div class="ttname"><a href="classserial_1_1_serial.html">serial::Serial</a></div><div class="ttdef"><b>Definition:</b> serial.h:107</div></div>
<div class="ttc" id="structfunction__state_html"><div class="ttname"><a href="structfunction__state.html">function_state</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:154</div></div>
<div class="ttc" id="class_locker_html"><div class="ttname"><a href="class_locker.html">Locker</a></div><div class="ttdef"><b>Definition:</b> locker.h:20</div></div>
<div class="ttc" id="structnode__packages_html"><div class="ttname"><a href="structnode__packages.html">node_packages</a></div><div class="ttdef"><b>Definition:</b> ydlidar_protocol.h:107</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
